package com.sg.model.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 目标周期与执行周期阶段的明细表，记录归属周期关键信息与计算模型及计算公式等
 *
 * @author xxx
 */
@Data
@Accessors(chain = true)
@TableName("oms_target_attribution_cycle")  //3-3-09-07目标归属周期表
public class OmsTargetAttributionCycle implements Serializable {

  @Serial
    private static final long serialVersionUID = 1L;

  /**
   * 上一被评对象目标周期ID
   */
  @TableField(value = "last_eva_obj_target_cycle_id")
  @Schema(description = "上一被评对象目标周期ID")
  private String lastEvaObjTargetCycleId;

  /**
   * 目标归属周期ID
   */
  @TableId(value = "target_attribution_cycle_id", type = IdType.ASSIGN_UUID)
  @NotNull(message = "targetAttributionCycleId不能为空")
  private String targetAttributionCycleId;

  /**
   * 评价画像目标周期ID
   */
  @TableField(value = "eva_portrait_eva_obj_target_cycle_id")
  @Schema(description = "评价画像目标周期ID")
  private String evaPortraitEvaObjTargetCycleId;

  /**
   * 量化综合得分
   */
  @TableField(value = "quantitative_compre_score")
  @Schema(description = "量化综合得分")
  private Double quantitativeCompreScore;

  /**
   * 实际值冗余单位
   */
  @TableField(value = "actual_value_unit")
  @Schema(description = "实际值冗余单位")
  private String actualValueUnit;

  /**
   * 上一归属周期ID
   */
  @TableField(value = "previous_cycle_id")
  @Schema(description = "上一归属周期ID")
  private String previousCycleId;

  /**
   * 执行周期阶段ID
   */
  @TableField(value = "execute_cycle_stage_id")
  @NotNull(message = "执行周期阶段ID不能为空")
  @Schema(description = "执行周期阶段ID")
  private String executeCycleStageId;

  /**
   * 父子中过程周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
   */
  @TableField(value = "parent_sub_mid_cycle_type")
  @Schema(description = "父子中过程周期类型")
  private String parentSubMidCycleType;

  /**
   * 是否末级周期 TRUE:是 FALSE:否
   */
  @TableField(value = "is_last_cycle")
  @Schema(description = "是否末级周期")
  private String isLastCycle;

  /**
   * 目标起始值
   */
  @TableField(value = "eva_target_start_value")
  @Schema(description = "目标起始值")
  private Double evaTargetStartValue;

  /**
   * 评价对象权重
   */
  @TableField(value = "eva_weight_value")
  @Schema(description = "评价对象权重")
  private Double evaWeightValue;

  /**
   * 来自内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_ACHIEVEMENT:成果表 OMS_ACHIEVEMENT_TYPE:成果类型表 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表 OMS_FRAMEWORK_SPACE_MEMBER:成员表
   */
  @TableField(value = "from_content_table_type_code")
  @Schema(description = "来自内容表类型编码")
  private String fromContentTableTypeCode;

  /**
   * 填报评价责任人身份类型编码 FILL_ROLE:填报角色 EVA_ROLE:评价角色 REPORT_ROLE:11111汇报角色
   */
  @TableField(value = "person_liable_type_code")
  @Schema(description = "填报评价责任人身份类型编码")
  private String personLiableTypeCode;

  /**
   * 数据归属对象ID
   */
  @TableField(value = "belong_to_personal_identity_id")
  @NotNull(message = "数据归属对象ID不能为空")
  @Schema(description = "数据归属对象ID")
  private String belongToPersonalIdentityId;

  /**
   * 内容是否有财务账户 TRUE:是 FALSE:否
   */
  @TableField(value = "is_have_finance_account")
  @Schema(description = "内容是否有财务账户")
  private String isHaveFinanceAccount;

  /**
   * 操作人就职记录ID
   */
  @TableField(value = "operation_induction_id")
  @NotNull(message = "操作人就职记录ID不能为空")
  @Schema(description = "操作人就职记录ID")
  private String operationInductionId;

  /**
   * 主观综合得分
   */
  @TableField(value = "subjective_compre_score")
  @Schema(description = "主观综合得分")
  private Double subjectiveCompreScore;

  /**
   * 归属周期ID
   */
  @TableField(value = "cycle_id")
  @NotNull(message = "归属周期ID不能为空")
  @Schema(description = "归属周期ID")
  private String cycleId;

  /**
   * 最近可循环周期类型编码
   */
  @TableField(value = "next_cycle_period")
  @Schema(description = "最近可循环周期类型编码")
  private String nextCyclePeriod;

  /**
   * 是否工作周期数据 TRUE:是 FALSE:否
   */
  @TableField(value = "is_work_cycle_data")
  @NotNull(message = "是否工作周期数据不能为空")
  @Schema(description = "是否工作周期数据")
  private String isWorkCycleData;

  /**
   * 本目标归属周期的计算周期五模型 LAST_CYCLE:末级周期 MID_OF_PROCESS_CYCLE:中间周期 SUB_CYCLE:子周期 MID_CYCLE:中期 PARENT_CYCLE:父周期
   */
  @TableField(value = "standard_data_calc_cycle_model")
  @Schema(description = "本目标归属周期的计算周期五模型")
  private String standardDataCalcCycleModel;

  /**
   * 目标目标值
   */
  @TableField(value = "eva_target_value")
  @Schema(description = "目标目标值")
  private Double evaTargetValue;

  /**
   * 评价对象目标周期ID
   */
  @TableField(value = "eva_obj_target_cycle_id")
  @Schema(description = "评价对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 评价对象权重分
   */
  @TableField(value = "eva_weight_score")
  @Schema(description = "评价对象权重分")
  private Double evaWeightScore;

  /**
   * 来自内容表主键ID
   */
  @TableField(value = "from_content_entity_id")
  @Schema(description = "来自内容表主键ID")
  private String fromContentEntityId;

  /**
   * 填报评价责任人对象ID
   */
  @TableField(value = "person_liable_obj_id")
  @Schema(description = "填报评价责任人对象ID")
  private String personLiableObjId;

  /**
   * 数据归属对象类型编码
   */
  @TableField(value = "belong_to_personal_identity_type_code")
  @NotNull(message = "数据归属对象类型编码不能为空")
  @Schema(description = "数据归属对象类型编码")
  private String belongToPersonalIdentityTypeCode;

  /**
   * 预算账户ID
   */
  @TableField(value = "budget_account_id")
  @Schema(description = "预算账户ID")
  private String budgetAccountId;

  /**
   * 创建人就职记录ID
   */
  @TableField(value = "create_induction_id")
  @NotNull(message = "创建人就职记录ID 不能为空")
  @Schema(description = "创建人就职记录ID ")
  private String createInductionId;

  /**
   * 目标内容汇报对象设置项编码 PRIMARY_TASK:一级建设任务 SECONDARY_TASK:二级建设任务 PRIMARY_OBSERVATION_POINT:二级以下建设任务或一级观测点 SECONDARY_OBSERVATION_POINT:二级观测点 OTHER_OBSERVATION_POINT:二级以下观测点
   */
  @TableField(value = "report_object_set_code")
  @Schema(description = "目标内容汇报对象设置项编码")
  private String reportObjectSetCode;

  /**
   * 与末级周期同体类型分析结果 SUB_CYCLE_SAME_AS_LAST_CYCLE_TYPE:子周期与末级周期同体 MID_OF_PROCESS_SAME_AS_LAST_CYCLE_TYPE:过程中间期与末级周期同体 NORMAL:正常
   */
  @TableField(value = "sub_cycle_is_last_cycle")
  @Schema(description = "与末级周期同体类型分析结果")
  private String subCycleIsLastCycle;

  /**
   * 主树被评对象内容表主键ID
   */
  @TableField(value = "eva_obj_entity_id")
  @NotNull(message = "主树被评对象内容表主键ID不能为空")
  @Schema(description = "主树被评对象内容表主键ID")
  private String evaObjEntityId;

  /**
   * 周期开始时间
   */
  @TableField(value = "cycle_start_time")
  @NotNull(message = "周期开始时间不能为空")
  @Schema(description = "周期开始时间")
  private Date cycleStartTime;

  /**
   * 最近可循环最新周期ID
   */
  @TableField(value = "recently_new_cycle_id")
  @Schema(description = "最近可循环最新周期ID")
  private String recentlyNewCycleId;

  /**
   * 工作周期更新切片
   */
  @TableField(value = "work_cycle_update_slice")
  @Schema(description = "工作周期更新切片")
  private String workCycleUpdateSlice;

  /**
   * 目标诊断值
   */
  @TableField(value = "eva_target_diagnostic_value")
  @Schema(description = "目标诊断值")
  private Double evaTargetDiagnosticValue;

  /**
   * 部门目标任务书目标周期ID
   */
  @TableField(value = "m_level_eva_obj_target_cycle_id")
  @Schema(description = "部门目标任务书目标周期ID")
  private String mLevelEvaObjTargetCycleId;

  /**
   * 部门目标任务书权重
   */
  @TableField(value = "m_level_eva_weight_value")
  @Schema(description = "部门目标任务书权重")
  private Double mLevelEvaWeightValue;

  /**
   * 归属内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_ACHIEVEMENT:成果表 OMS_ACHIEVEMENT_TYPE:成果类型表 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表 OMS_FRAMEWORK_SPACE_MEMBER:成员表
   */
  @TableField(value = "table_type_code")
  @NotNull(message = "归属内容表类型编码不能为空")
  @Schema(description = "归属内容表类型编码")
  private String tableTypeCode;

  /**
   * 填报评价责任人业务角色对象ID
   */
  @TableField(value = "biz_role_obj_id")
  @Schema(description = "填报评价责任人业务角色对象ID")
  private String bizRoleObjId;

  /**
   * 实体账户ID
   */
  @TableField(value = "physical_account_id")
  @Schema(description = "实体账户ID")
  private String physicalAccountId;

  /**
   * 创建时间
   */
  @TableField(value = "create_time")
  @NotNull(message = "创建时间不能为空")
  @Schema(description = "创建时间")
  private Date createTime;

  /**
   * 末级周期计算模型ID
   */
  @TableField(value = "last_cycle_calc_model_id")
  @Schema(description = "末级周期计算模型ID")
  private String lastCycleCalcModelId;

  /**
   * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @TableField(value = "target_value_type")
  @Schema(description = "冗余指标业务类型")
  private String targetValueType;

  /**
   * 主树被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
   */
  @TableField(value = "eva_obj_type_code")
  @NotNull(message = "主树被评对象类型编码不能为空")
  @Schema(description = "主树被评对象类型编码")
  private String evaObjTypeCode;

  /**
   * 主树进度值计算公式标识
   */
  @TableField(value = "eva_progress_calc_code")
  @Schema(description = "主树进度值计算公式标识")
  private String evaProgressCalcCode;

  /**
   * 周期结束时间
   */
  @TableField(value = "cycle_end_time")
  @NotNull(message = "周期结束时间不能为空")
  @Schema(description = "周期结束时间")
  private Date cycleEndTime;

  /**
   * 过程中间周期计算模型ID
   */
  @TableField(value = "process_cycle_calc_model_id")
  @Schema(description = "过程中间周期计算模型ID")
  private String processCycleCalcModelId;

  /**
   * OKR部门目标周期ID
   */
  @TableField(value = "okr_dpt_eva_obj_target_cycle_id")
  @Schema(description = "OKR部门目标周期ID")
  private String okrDptEvaObjTargetCycleId;

  /**
   * 部门目标任务书权重分
   */
  @TableField(value = "m_level_eva_weight_score")
  @Schema(description = "部门目标任务书权重分")
  private Double mLevelEvaWeightScore;

  /**
   * 归属内容表主键ID
   */
  @TableField(value = "entity_id")
  @NotNull(message = "归属内容表主键ID不能为空")
  @Schema(description = "归属内容表主键ID")
  private String entityId;

  /**
   * 填报评价责任人业务角色标识
   */
  @TableField(value = "biz_role_obj_code")
  @Schema(description = "填报评价责任人业务角色标识")
  private String bizRoleObjCode;

  /**
   * 汇报进度值元素
   */
  @TableField(value = "progress_value_element")
  @Schema(description = "汇报进度值元素")
  private Long progressValueElement;

  /**
   * 操作时间
   */
  @TableField(value = "operate_time")
  @NotNull(message = "操作时间不能为空")
  @Schema(description = "操作时间")
  private Date operateTime;

  /**
   * 冗余是否左侧比例型 TRUE:是 FALSE:否
   */
  @TableField(value = "is_left")
  @Schema(description = "冗余是否左侧比例型")
  private String isLeft;

  /**
   * 大屏归属评价对象ID
   */
  @TableField(value = "dashborad_evaluation_object_id")
  @Schema(description = "大屏归属评价对象ID")
  private String dashboradEvaluationObjectId;

  /**
   * 主树实际值计算公式标识
   */
  @TableField(value = "eva_actual_calc_code")
  @Schema(description = "主树实际值计算公式标识")
  private String evaActualCalcCode;

  /**
   * 周期类型标识
   */
  @TableField(value = "cycle_type_code")
  @NotNull(message = "周期类型标识不能为空")
  @Schema(description = "周期类型标识")
  private String cycleTypeCode;

  /**
   * 周期类型实例标识
   */
  @TableField(value = "cycle_type_instance_code")
  @Schema(description = "周期类型实例标识")
  private String cycleTypeInstanceCode;

  /**
   * 子周期计算模型ID
   */
  @TableField(value = "sub_cycle_calc_model_id")
  @Schema(description = "子周期计算模型ID")
  private String subCycleCalcModelId;

  /**
   * OKR个人目标周期ID
   */
  @TableField(value = "okr_ps_eva_obj_target_cycle_id")
  @Schema(description = "OKR个人目标周期ID")
  private String okrPsEvaObjTargetCycleId;

  /**
   * OKR部门权重
   */
  @TableField(value = "okr_dpt_eva_weight_value")
  @Schema(description = "OKR部门权重")
  private Double okrDptEvaWeightValue;

  /**
   * 填报评价责任人业务角色对象名称
   */
  @TableField(value = "biz_role_obj_name")
  @Schema(description = "填报评价责任人业务角色对象名称")
  private String bizRoleObjName;

  /**
   * 汇报实际值元素
   */
  @TableField(value = "actual_value_element")
  @Schema(description = "汇报实际值元素")
  private Long actualValueElement;

  /**
   * 创建于空间ID
   */
  @TableField(value = "space_id")
  @NotNull(message = "创建于空间ID不能为空")
  @Schema(description = "创建于空间ID")
  private String spaceId;

  /**
   * 是否开启主观评分 TRUE:是 FALSE:否
   */
  @TableField(value = "is_subjective_scoring")
  @Schema(description = "是否开启主观评分")
  private String isSubjectiveScoring;

  /**
   * 大屏归属中层部门ID
   */
  @TableField(value = "dashborad_primary_dept_id")
  @Schema(description = "大屏归属中层部门ID")
  private String dashboradPrimaryDeptId;

  /**
   * 主树目标得分计算公式标识 CALC:自己计算得分 CLONE_FROM_EVA_SUBJECT:当前树克隆主树得分
   */
  @TableField(value = "eva_report_score_calc_code")
  @Schema(description = "主树目标得分计算公式标识")
  private String evaReportScoreCalcCode;

  /**
   * 中期计算模型ID
   */
  @TableField(value = "mid_cycle_calc_model_id")
  @Schema(description = "中期计算模型ID")
  private String midCycleCalcModelId;

  /**
   * OKR部门权重分
   */
  @TableField(value = "okr_dpt_eva_weight_score")
  @Schema(description = "OKR部门权重分")
  private Double okrDptEvaWeightScore;

  /**
   * 上级被评对象目标周期标识
   */
  @TableField(value = "parent_eva_obj_target_cycle_id")
  @Schema(description = "上级被评对象目标周期标识")
  private String parentEvaObjTargetCycleId;

  /**
   * 被评对象目标周期标识
   */
  @TableField(value = "eva_obj_target_cycle_code")
  @NotNull(message = "被评对象目标周期标识不能为空")
  @Schema(description = "被评对象目标周期标识")
  private String evaObjTargetCycleCode;

  /**
   * 汇报预算元素
   */
  @TableField(value = "budget_amount_element")
  @Schema(description = "汇报预算元素")
  private Long budgetAmountElement;

  /**
   * 创建于联盟应用ID
   */
  @TableField(value = "app_id")
  @NotNull(message = "创建于联盟应用ID不能为空")
  @Schema(description = "创建于联盟应用ID")
  private String appId;

  /**
   * 是否开启量化客观评分 TRUE:是 FALSE:否
   */
  @TableField(value = "is_objective_quantization")
  @Schema(description = "是否开启量化客观评分")
  private String isObjectiveQuantization;

  /**
   * 归属周期排序
   */
  @TableField(value = "order_number")
  @NotNull(message = "归属周期排序不能为空")
  @Schema(description = "归属周期排序")
  private Long orderNumber;

  /**
   * 是否用于一级部门 TRUE:是 FALSE:否
   */
  @TableField(value = "is_use_first_dept")
  @Schema(description = "是否用于一级部门")
  private String isUseFirstDept;

  /**
   * 父周期计算模型ID
   */
  @TableField(value = "parent_cycle_calc_model_id")
  @Schema(description = "父周期计算模型ID")
  private String parentCycleCalcModelId;

  /**
   * OKR个人权重
   */
  @TableField(value = "okr_ps_eva_weight_value")
  @Schema(description = "OKR个人权重")
  private String okrPsEvaWeightValue;

  /**
   * 数据归属内容表类型编码 ORG_OR_DEPT:组织或部门 INTELLIGENT_HARDWARE_EQUIPMENT:智能硬件设备 OMS_ACHIEVEMENT:成果表 OMS_ACHIEVEMENT_TYPE:成果类型表 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表 OMS_OFFICIAL_DOCUMENT:公文表 OMS_VIRTUAL_ORG:虚拟组织表 OMS_MESSAGE:消息表 OMS_MESSAGE_LOCATION:消息位置表 OMS_MESSAGE_MEMBER:成员接收消息表 OMS_MESSAGE_MEMBER_CHANNEL_RELATION:成员通道关系表 OMS_FRAMEWORK_SPACE_MEMBER:成员表
   */
  @TableField(value = "belong_to_content_type_code")
  @NotNull(message = "数据归属内容表类型编码不能为空")
  @Schema(description = "数据归属内容表类型编码")
  private String belongToContentTypeCode;

  /**
   * 是否自动汇报 TRUE:是 FALSE:否
   */
  @TableField(value = "is_auto_report")
  @Schema(description = "是否自动汇报")
  private String isAutoReport;

  /**
   * 计算数据来源 MANUAL_FILLING:人工填报 SYSTEM_DOCKING:系统对接
   */
  @TableField(value = "calculate_data_source")
  @Schema(description = "计算数据来源")
  private String calculateDataSource;

  /**
   * 目标周期ID
   */
  @TableField(value = "target_cycle_id")
  @NotNull(message = "目标周期ID不能为空")
  @Schema(description = "目标周期ID")
  private String targetCycleId;

  /**
   * 主树目标得分本级或下级变量 RANK_CALC:计算本级得分 DOWN_CALC:计算下级得分 RANK_AND_DOWN_CALC:计算本级+下级得分
   */
  @TableField(value = "rank_or_down_calc")
  @Schema(description = "主树目标得分本级或下级变量")
  private String rankOrDownCalc;

  /**
   * 大屏归属基层部门ID
   */
  @TableField(value = "dashborad_basic_dept_id")
  @Schema(description = "大屏归属基层部门ID")
  private String dashboradBasicDeptId;

  /**
   * OKR个人权重分
   */
  @TableField(value = "okr_ps_eva_weight_score")
  @Schema(description = "OKR个人权重分")
  private Double okrPsEvaWeightScore;

  /**
   * 数据归属内容表主键ID
   */
  @TableField(value = "belong_to_content_id")
  @NotNull(message = "数据归属内容表主键ID不能为空")
  @Schema(description = "数据归属内容表主键ID")
  private String belongToContentId;

  /**
   * 数量型指标当无实际值标记 TRUE:是 FALSE:否
   */
  @TableField(value = "quantity_objective_no_value")
  @Schema(description = "数量型指标当无实际值标记")
  private String quantityObjectiveNoValue;

  /**
   * 主树目标得分主客观变量 SUBJECTIVE:主观得分 OBJECTIVE:客观得分 SUBJECTIVE_AND_OBJECTIVE:主观得分+客观得分
   */
  @TableField(value = "sub_and_obj_model")
  @Schema(description = "主树目标得分主客观变量")
  private String subAndObjModel;

  /**
   * 目标计划开始时间
   */
  @TableField(value = "target_cycle_start_time")
  @NotNull(message = "目标计划开始时间不能为空")
  @Schema(description = "目标计划开始时间")
  private Date targetCycleStartTime;

  /**
   * 提交标准数据提示文案
   */
  @TableField(value = "submit_standard_data_tips")
  @Schema(description = "提交标准数据提示文案")
  private String submitStandardDataTips;

  /**
   * 大屏归属负责人身份人员ID
   */
  @TableField(value = "dashborad_original_role_member_id")
  @Schema(description = "大屏归属负责人身份人员ID")
  private String dashboradOriginalRoleMemberId;

  /**
   * 其他树进度值计算公式标识
   */
  @TableField(value = "other_progress_calc_code")
  @Schema(description = "其他树进度值计算公式标识")
  private String otherProgressCalcCode;

  /**
   * OKR目标属性 OBJECTIVES:目标O KEY_RESULTS:关键成果KR
   */
  @TableField(value = "indicator_kind")
  @Schema(description = "OKR目标属性")
  private String indicatorKind;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @TableField(value = "target_cycle_content_type_code")
  @NotNull(message = "关联目标内容类型编码不能为空")
  @Schema(description = "关联目标内容类型编码")
  private String targetCycleContentTypeCode;

  /**
   * 目标计划结束时间
   */
  @TableField(value = "target_cycle_end_time")
  @NotNull(message = "目标计划结束时间不能为空")
  @Schema(description = "目标计划结束时间")
  private Date targetCycleEndTime;

  /**
   * 大屏归属主管身份人员ID
   */
  @TableField(value = "dashborad_director_original_role_member_id")
  @Schema(description = "大屏归属主管身份人员ID")
  private String dashboradDirectorOriginalRoleMemberId;

  /**
   * 其他树实际值计算公式标识
   */
  @TableField(value = "other_actual_calc_code")
  @Schema(description = "其他树实际值计算公式标识")
  private String otherActualCalcCode;

  /**
   * 目标周期类型标识
   */
  @TableField(value = "target_cycle_type_code")
  @NotNull(message = "目标周期类型标识不能为空")
  @Schema(description = "目标周期类型标识")
  private String targetCycleTypeCode;

  /**
   * 是否自定义OKR目标 TRUE:是 FALSE:否
   */
  @TableField(value = "is_custom_objective")
  @Schema(description = "是否自定义OKR目标")
  private String isCustomObjective;

  /**
   * 大屏归属分管领导身份人员ID
   */
  @TableField(value = "dashborad_dept_leader_original_role_member_id")
  @Schema(description = "大屏归属分管领导身份人员ID")
  private String dashboradDeptLeaderOriginalRoleMemberId;

  /**
   * 目标内容层级
   */
  @TableField(value = "target_content_level_number")
  @Schema(description = "目标内容层级")
  private Long targetContentLevelNumber;

  /**
   * 其他树目标得分计算公式标识 CALC:自己计算得分 CLONE_FROM_EVA_SUBJECT:当前树克隆主树得分
   */
  @TableField(value = "other_report_score_calc_code")
  @Schema(description = "其他树目标得分计算公式标识")
  private String otherReportScoreCalcCode;

  /**
   * 目标周期类型实例标识
   */
  @TableField(value = "target_cycle_type_instance_code")
  @Schema(description = "目标周期类型实例标识")
  private String targetCycleTypeInstanceCode;

  /**
   * 是否末级目标分类 TRUE:是 FALSE:否
   */
  @TableField(value = "is_last_category")
  @Schema(description = "是否末级目标分类")
  private String isLastCategory;

  /**
   * 是否末级指标 TRUE:是 FALSE:否
   */
  @TableField(value = "is_last_objective")
  @Schema(description = "是否末级指标")
  private String isLastObjective;

  /**
   * 一级及以上指标数据 TRUE:是 FALSE:否
   */
  @TableField(value = "one_and_up_target_data")
  @Schema(description = "一级及以上指标数据")
  private String oneAndUpTargetData;

  /**
   * 冗余标准数据目标分类表名
   */
  @TableField(value = "category_table_type_code")
  @Schema(description = "冗余标准数据目标分类表名")
  private String categoryTableTypeCode;

  /**
   * 冗余标准数据一级目标分类ID
   */
  @TableField(value = "one_level_category_id")
  @Schema(description = "冗余标准数据一级目标分类ID")
  private String oneLevelCategoryId;

  /**
   * 冗余标准数据末级目标分类ID
   */
  @TableField(value = "correlation_last_target_cat_id")
  @Schema(description = "冗余标准数据末级目标分类ID")
  private String correlationLastTargetCatId;

  /**
   * 冗余评价模板ID
   */
  @TableField(value = "evaluation_template_id")
  @NotNull(message = "冗余评价模板ID不能为空")
  @Schema(description = "冗余评价模板ID")
  private String evaluationTemplateId;
}
